Avoiding State-Space Explosion in Multithreaded Programs with Input-Covering Schedules and Symbolic Execution
نویسندگان
چکیده
Avoiding State-Space Explosion in Multithreaded Programs with Input-Covering Schedules and Symbolic Execution
منابع مشابه
JavaFAN: A Rewriting Logic Approach to Formal Analysis of Multithreaded Java Programs
JavaFAN (Java Formal ANalisis) is a multithreaded program analysis framework based on rewriting logic specifications of the semantics of Java. It can currently perform several types of analysis, including symbolic execution of Java programs, detection of safety violations searching through the potentially unbounded state space of a multithreaded program using a breadth-first strategy, and expli...
متن کاملConcolic Testing of Multithreaded Programs and Its Application to Testing Security Protocols
Testing concurrent programs that accept data inputs is notoriously hard because, besides the large number of possible data inputs, nondeterminism results in an exponentially large number of interleavings of concurrent events. We propose a novel testing algorithm for concurrent programs in which our goal is not only to execute all reachable statements of a program, but to detect all possible dat...
متن کاملAutomated Testing of Multithreaded Programs Using Race-Detection and Flipping
Testing concurrent programs that accept data inputs is notoriously hard because, besides the large number of possible data inputs, nondeterminism results in an exponentially large number of interleavings of concurrent events. We propose a novel testing algorithm for concurrent programs in which our goal is not only to execute all reachable statements of a program, but to detect all possible dat...
متن کاملLightweight State Capturing for Automated Testing of Multithreaded Programs
We present a lightweight approach to capture abstract state information that can be used to avoid testing redundant interleavings of multithreaded programs. Our approach is based on modeling states that are observed during the test executions as a Petri net. This model is then used to determine if some execution paths lead to an already explored state. In such cases exploring execution paths fr...
متن کاملVerifying LTL Properties of Bytecode with Symbolic Execution
Bytecode languages are at a very desirable degree of abstraction for performing formal analysis of programs, but at the same time pose new challenges when compared with traditional languages. This paper proposes a methodology for bytecode analysis which harmonizes two well-known formal verification techniques, model checking and symbolic execution. Model checking is a property-guided exploratio...
متن کامل